Call centers are systems that enable agents to serve incoming and/or outgoing calls, with the calls being distributed and connected to whichever of the agents is available to handle the call. When no agents are free and available to handle an incoming call, additional incoming calls are typically placed in a holding queue to await an available agent. It is common practice to divide a pool of agents into a plurality of groups, commonly referred to as splits, and to assign different types of calls to different splits. The different splits may be organized such that they are directed to servicing particular products or offerings, and the agents in different splits may have different skills. Each split typically has its own incoming call queue. In addition, agents may be distributed across a number of call centers.
In a typical inbound contact center arrangement, customer service representatives handle a variety of incoming calls. For each new call that a call center receives, decisions can be made by call routing algorithms as to whether a call should be assigned to an available agent or held in a queue for an agent more likely to have the skills required to handle the call. For an outbound contact center, the decision of when to place a predictive dialing call can be based on the expected remaining work time of all agents that might be able to handle the call about to be placed.
One of the inputs to call routing algorithms can be the expected remaining work time of each agent. Typically, this estimate is based on the average call time. Moreover, the average call time can be computed separately for different types of calls, in order to improve the accuracy of the estimate. Expected wait time can be calculated by calculating the average call holding time for all calls of a particular class, and then subtracting the time an agent has spent on the call up to the point at which the estimate is made. However, the estimated remaining work time for a particular call being handled by an agent is only a general estimate, and does not take into account the current pace of the call in progress with that agent. Accordingly, estimated wait time announcements, which are played to callers waiting in queue, can be inaccurate. For example, current solutions do not consider whether an agent is intending to enter an auxiliary mode or otherwise break from handling calls when a current call is finished, and do not consider particular issues that may be raised during a call in progress.